
package com.nanyang.tms.api.dto.request.supplier;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.nanyang.common.core.domain.ApiRequest;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;

/**
 * <p>Description:服务商请求参数</p>
 * 
 * @author
 * @date 2020年11月11日 上午10:02:18
 * @Copyright Copyright (c) 2020 www.nanyang.cn Inc. All rights reserved.
 */
@Data
public class SupplierAddRequest extends ApiRequest {
	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 1L;


	@JsonIgnore
	private String pin;

	/**
	 * 服务商简称
	 */
	@NotEmpty(message = "服务商简称不能为空")
	@Length(max = 20, message = "supplierName长度需小于20个字符")
	private String supplierName;

	/**
	 * 服务商全称
	 */
	@NotEmpty(message = "服务商全称不能为空")
	@Length(max = 50, message = "supplierFullName长度需小于50个字符")
	private String supplierFullName;

	/**
	 * 结算方式编码
	 */
	@NotEmpty(message = "结算方式编码不能为空")
	@Length(max = 10, message = "settlementTypeCode长度需小于10个字符")
	private String settlementTypeCode;

	/**
	 * 结算方式名称(现付 预付 半月结 周结 月结 不限)
	 */
	@NotEmpty(message = "结算方式名称不能为空")
	@Length(max = 5, message = "settlementTypeName长度需小于5个字符")
	private String settlementTypeName;

	/**
	 * 服务商类型编码
	 */
	@NotEmpty(message = "服务商类型编码不能为空")
	@Length(max = 10, message = "supplierTypeCode长度需小于10个字符")
	private String supplierTypeCode;

	/**
	 * 服务商类型名称（清关服务商，派送服务商，转运服务商）
	 */
	@NotEmpty(message = "服务商类型名称不能为空")
	@Length(max = 10, message = "supplierTypeName长度需小于10个字符")
	private String supplierTypeName;

	/**
	 * 轨迹查询电话
	 */
	@NotEmpty(message = "轨迹查询电话不能为空")
	@Length(max = 20, message = "trackTel长度需小于20个字符")
	private String trackTel;

	/**
	 * 地址
	 */
	@NotEmpty(message = "地址不能为空")
	@Length(max = 100, message = "address长度需小于100个字符")
	private String address;

	/**
	 * 服务商开户行
	 */
	@NotEmpty(message = "服务商开户行不能为空")
	@Length(max = 100, message = "openBank长度需小于100个字符")
	private String openBank;

	/**
	 * 服务商银行账户
	 */
	@NotEmpty(message = "服务商银行账户不能为空")
	@Length(max = 50, message = "bankAccount长度需小于50个字符")
	private String bankAccount;

	/**
	 * 服务商网址
	 */
	@Length(max = 200, message = "webUrl长度需小于200个字符")
	private String webUrl;

	/**
	 * 服务商账号
	 */
	@Length(max = 30, message = "supplierAccount长度需小于30个字符")
	private String supplierAccount;

	/**
	 * 服务商密码
	 */
	@Length(max = 30, message = "supplierPassword长度需小于30个字符")
	private String supplierPassword;

	@Override
	public void requestCheck() {

	}

}
